The ability of computer software to perform programmable mathematical calculations is desirable in various circumstances. For instance, such a circumstance is a Web service that financial advisory firms (i.e., firms that provide investment advice) can use for presenting account statements to be viewed securely by their clients. In presenting account statements in this manner, it would be desirable to be able to meet the needs of multiple financial institutions in a way other than one-off (i.e., customized) code for each financial advisory firm.
In this context, conventional approaches tend to use different customized code for different calculations specified by different financial institutions. For instance, different financial institutions may use different formulas for calculating a client's return on investment. According to conventional techniques, a data feed, such as an XML feed, comes from each financial institution with information about investment portfolios of the financial institutions' clients. Calculations are then performed on the fly so that statements can be presented to users on demand.
An investor may request that a portfolio statement be displayed in a particular format, such as sorted or grouped in any of various ways, such as grouped by asset class (e.g., stocks, bonds, cash and the like). If different financial institutions organize and/or define their data and/or output specifications differently, then, according to conventional techniques, custom code would typically be implemented for performing calculations and presenting data in various ways that are specific to various financial institutions.
A programmable calculation engine, which operates independently of any assumptions about the organization of the data that it operates on, would therefore be desirable.